package com.ruihu.admin.module.support.file.domain.entity;

import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableName;
import com.ruihu.admin.common.domain.BaseEntity;
import com.ruihu.admin.module.support.file.domain.dto.FileAddDTO;
import lombok.Data;


/**
 * 
 * [  ]
 * 
 * @version 1.0
 * @since JDK1.8
 * @author yandanyang
 * @company Ruihu (Nanjing) Information Technology Co., Ltd
 * @copyright (c) 2019 Ruihu (Nanjing) Information Technology Co., LtdInc. All rights reserved.
 * @date
 */
@Data
@TableName(value = "t_file")
public class FileEntity extends BaseEntity {


    /**
     * 相关业务id
     */
    private String moduleId;
    /**
     * 相关业务类型
     */
    private String moduleType;
    /**
     * 文件位置类型
     */
    private Integer fileLocationType;
    /**
     * 文件名称
     */
    private String fileOrigName;
    /**
     * 文件名称
     */
    private String fileName;
    /**
     * 文件大小
     */
    private String fileSize;
    /**
     * 文件类型，程序中枚举控制，文件类型：如身份证正面，三证合一等等
     */
    private String fileType;
    /**
     * 文件key，用于文件下载
     */
    private String filePath;
    /**
     * 创建人，即上传人
     */
    private Long createrUser;

    /**
     * 文件来源（0: 本地上传  1: AI接口）
     */
    private String source;

    @TableField(exist = false)
    private String remark;


    public static FileEntity convertToFileEntity(FileAddDTO fileAddDTO) {
        if (fileAddDTO == null) {
            return null;
        }
        FileEntity fileEntity = new FileEntity();
        fileEntity.setModuleId(fileAddDTO.getModuleId());
        fileEntity.setModuleType(fileAddDTO.getModuleType());
        fileEntity.setFileLocationType(fileAddDTO.getFileLocationType());
        fileEntity.setFileName(fileAddDTO.getFileName());
        fileEntity.setFilePath(fileAddDTO.getFilePath());
        fileEntity.setFileSize(fileAddDTO.getFileSize());
        fileEntity.setSource(fileAddDTO.getSource());
        return fileEntity;
    }

}

